﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CompilerDLL.SyntaxAnalysis
{
    public class BaseSyntaxParseStepStatus
    {
        private int intStep;

        /// <summary>
        /// 记录当前步骤
        /// </summary>
        public int IntStep
        {
            get { return intStep; }
            set { intStep = value; }
        }



        private string strStackProcSymbols = "";
        /// <summary>
        /// 当前符号栈状态
        /// </summary>
        public string StrStackProcSymbols
        {
            get { return strStackProcSymbols; }
            set { strStackProcSymbols = value; }
        }


        private string strCurrentTokens = "";

        /// <summary>
        /// 当前步的源代码输入串的分析状态
        /// </summary>
        public string StrCurrentTokens
        {
            get { return strCurrentTokens; }
            set { strCurrentTokens = value; }
        }
        private string strCurrentProduction = "";

        /// <summary>
        /// 当前步所使用的产生式
        /// </summary>
        public string StrCurrentProduction
        {
            get { return strCurrentProduction; }
            set { strCurrentProduction = value; }
        }

        private SyntaxTreeNode current_Syntax_Tree = new SyntaxTreeNode();

        /// <summary>
        /// 设置当前的树结构，用于记录自上而分析的树根节
        /// </summary>
        public SyntaxTreeNode Current_Syntax_Tree
        {
            get { return current_Syntax_Tree; }
            set { current_Syntax_Tree = value; }
        }

    }
}
